Messaging systems are mechanisms by which distributed applications may communicate between disparate portions of the application. A distributed application may have several components that may operate independently, often on different processors or different computers that may be located physically distant from each other.
Messaging systems may operate by passing messages from one component of a distributed application to another through a queuing system. A queue may receive several messages, then pass the messages to a recipient when the recipient is ready to receive the messages.